(0) Obligation:
The Runtime Complexity (innermost) of the given
CpxTRS could be proven to be
BOUNDS(1, n^2).
The TRS R consists of the following rules:
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))
U22(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → tt
U61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))
U72(tt) → tt
U81(tt) → tt
isList(V) → U11(isNeList(activate(V)))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, n____(P, I))) → U71(isQid(activate(I)), activate(P))
isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
nil → n__nil
__(X1, X2) → n____(X1, X2)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X
Rewrite Strategy: INNERMOST
(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted Cpx (relative) TRS to CDT
(2) Obligation:
Complexity Dependency Tuples Problem
Rules:
__(__(z0, z1), z2) → __(z0, __(z1, z2))
__(z0, nil) → z0
__(nil, z0) → z0
__(z0, z1) → n____(z0, z1)
U11(tt) → tt
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U31(tt) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
U61(tt) → tt
U71(tt, z0) → U72(isPal(activate(z0)))
U72(tt) → tt
U81(tt) → tt
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
isNePal(z0) → U61(isQid(activate(z0)))
isNePal(n____(z0, n____(z1, z0))) → U71(isQid(activate(z0)), activate(z1))
isPal(z0) → U81(isNePal(activate(z0)))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
nil → n__nil
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
Tuples:
__'(__(z0, z1), z2) → c(__'(z0, __(z1, z2)), __'(z1, z2))
__'(z0, nil) → c1
__'(nil, z0) → c2
__'(z0, z1) → c3
U11'(tt) → c4
U21'(tt, z0) → c5(U22'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
U22'(tt) → c6
U31'(tt) → c7
U41'(tt, z0) → c8(U42'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
U42'(tt) → c9
U51'(tt, z0) → c10(U52'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
U52'(tt) → c11
U61'(tt) → c12
U71'(tt, z0) → c13(U72'(isPal(activate(z0))), ISPAL(activate(z0)), ACTIVATE(z0))
U72'(tt) → c14
U81'(tt) → c15
ISLIST(z0) → c16(U11'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
ISLIST(n__nil) → c17
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(z0) → c19(U31'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNEPAL(z0) → c22(U61'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ISQID(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(U81'(isNePal(activate(z0))), ISNEPAL(activate(z0)), ACTIVATE(z0))
ISPAL(n__nil) → c25
ISQID(n__a) → c26
ISQID(n__e) → c27
ISQID(n__i) → c28
ISQID(n__o) → c29
ISQID(n__u) → c30
NIL → c31
A → c32
E → c33
I → c34
O → c35
U → c36
ACTIVATE(n__nil) → c37(NIL)
ACTIVATE(n____(z0, z1)) → c38(__'(activate(z0), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ACTIVATE(n__a) → c39(A)
ACTIVATE(n__e) → c40(E)
ACTIVATE(n__i) → c41(I)
ACTIVATE(n__o) → c42(O)
ACTIVATE(n__u) → c43(U)
ACTIVATE(z0) → c44
S tuples:
__'(__(z0, z1), z2) → c(__'(z0, __(z1, z2)), __'(z1, z2))
__'(z0, nil) → c1
__'(nil, z0) → c2
__'(z0, z1) → c3
U11'(tt) → c4
U21'(tt, z0) → c5(U22'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
U22'(tt) → c6
U31'(tt) → c7
U41'(tt, z0) → c8(U42'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
U42'(tt) → c9
U51'(tt, z0) → c10(U52'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
U52'(tt) → c11
U61'(tt) → c12
U71'(tt, z0) → c13(U72'(isPal(activate(z0))), ISPAL(activate(z0)), ACTIVATE(z0))
U72'(tt) → c14
U81'(tt) → c15
ISLIST(z0) → c16(U11'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
ISLIST(n__nil) → c17
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(z0) → c19(U31'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNEPAL(z0) → c22(U61'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ISQID(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(U81'(isNePal(activate(z0))), ISNEPAL(activate(z0)), ACTIVATE(z0))
ISPAL(n__nil) → c25
ISQID(n__a) → c26
ISQID(n__e) → c27
ISQID(n__i) → c28
ISQID(n__o) → c29
ISQID(n__u) → c30
NIL → c31
A → c32
E → c33
I → c34
O → c35
U → c36
ACTIVATE(n__nil) → c37(NIL)
ACTIVATE(n____(z0, z1)) → c38(__'(activate(z0), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ACTIVATE(n__a) → c39(A)
ACTIVATE(n__e) → c40(E)
ACTIVATE(n__i) → c41(I)
ACTIVATE(n__o) → c42(O)
ACTIVATE(n__u) → c43(U)
ACTIVATE(z0) → c44
K tuples:none
Defined Rule Symbols:
__, U11, U21, U22, U31, U41, U42, U51, U52, U61, U71, U72, U81, isList, isNeList, isNePal, isPal, isQid, nil, a, e, i, o, u, activate
Defined Pair Symbols:
__', U11', U21', U22', U31', U41', U42', U51', U52', U61', U71', U72', U81', ISLIST, ISNELIST, ISNEPAL, ISPAL, ISQID, NIL, A, E, I, O, U, ACTIVATE
Compound Symbols:
c, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44
(3) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 32 trailing nodes:
O → c35
U42'(tt) → c9
ISQID(n__o) → c29
ACTIVATE(n__e) → c40(E)
ACTIVATE(z0) → c44
ACTIVATE(n__u) → c43(U)
ISLIST(n__nil) → c17
__'(nil, z0) → c2
ACTIVATE(n__o) → c42(O)
E → c33
U72'(tt) → c14
U31'(tt) → c7
U81'(tt) → c15
I → c34
ISQID(n__u) → c30
__'(z0, nil) → c1
__'(z0, z1) → c3
A → c32
U52'(tt) → c11
ACTIVATE(n__nil) → c37(NIL)
ISPAL(n__nil) → c25
U61'(tt) → c12
ACTIVATE(n__i) → c41(I)
ACTIVATE(n__a) → c39(A)
__'(__(z0, z1), z2) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ISQID(n__a) → c26
ISQID(n__e) → c27
U22'(tt) → c6
U → c36
NIL → c31
ISQID(n__i) → c28
U11'(tt) → c4
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
__(__(z0, z1), z2) → __(z0, __(z1, z2))
__(z0, nil) → z0
__(nil, z0) → z0
__(z0, z1) → n____(z0, z1)
U11(tt) → tt
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U31(tt) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
U61(tt) → tt
U71(tt, z0) → U72(isPal(activate(z0)))
U72(tt) → tt
U81(tt) → tt
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
isNePal(z0) → U61(isQid(activate(z0)))
isNePal(n____(z0, n____(z1, z0))) → U71(isQid(activate(z0)), activate(z1))
isPal(z0) → U81(isNePal(activate(z0)))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
nil → n__nil
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
Tuples:
U21'(tt, z0) → c5(U22'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(U42'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(U52'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(U72'(isPal(activate(z0))), ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(U11'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(z0) → c19(U31'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNEPAL(z0) → c22(U61'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ISQID(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(U81'(isNePal(activate(z0))), ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(__'(activate(z0), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
S tuples:
U21'(tt, z0) → c5(U22'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(U42'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(U52'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(U72'(isPal(activate(z0))), ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(U11'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(z0) → c19(U31'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNEPAL(z0) → c22(U61'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ISQID(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(U81'(isNePal(activate(z0))), ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(__'(activate(z0), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
K tuples:none
Defined Rule Symbols:
__, U11, U21, U22, U31, U41, U42, U51, U52, U61, U71, U72, U81, isList, isNeList, isNePal, isPal, isQid, nil, a, e, i, o, u, activate
Defined Pair Symbols:
U21', U41', U51', U71', ISLIST, ISNELIST, ISNEPAL, ISPAL, ACTIVATE
Compound Symbols:
c5, c8, c10, c13, c16, c18, c19, c20, c21, c22, c23, c24, c38
(5) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)
Removed 12 trailing tuple parts
(6) Obligation:
Complexity Dependency Tuples Problem
Rules:
__(__(z0, z1), z2) → __(z0, __(z1, z2))
__(z0, nil) → z0
__(nil, z0) → z0
__(z0, z1) → n____(z0, z1)
U11(tt) → tt
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U31(tt) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
U61(tt) → tt
U71(tt, z0) → U72(isPal(activate(z0)))
U72(tt) → tt
U81(tt) → tt
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
isNePal(z0) → U61(isQid(activate(z0)))
isNePal(n____(z0, n____(z1, z0))) → U71(isQid(activate(z0)), activate(z1))
isPal(z0) → U81(isNePal(activate(z0)))
isPal(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
nil → n__nil
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
S tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
K tuples:none
Defined Rule Symbols:
__, U11, U21, U22, U31, U41, U42, U51, U52, U61, U71, U72, U81, isList, isNeList, isNePal, isPal, isQid, nil, a, e, i, o, u, activate
Defined Pair Symbols:
ISLIST, ISNELIST, U21', U41', U51', U71', ISNEPAL, ISPAL, ACTIVATE
Compound Symbols:
c18, c20, c21, c5, c8, c10, c13, c16, c19, c22, c23, c24, c38
(7) CdtUsableRulesProof (EQUIVALENT transformation)
The following rules are not usable and were removed:
__(__(z0, z1), z2) → __(z0, __(z1, z2))
__(z0, nil) → z0
__(nil, z0) → z0
U61(tt) → tt
U71(tt, z0) → U72(isPal(activate(z0)))
U72(tt) → tt
U81(tt) → tt
isNePal(z0) → U61(isQid(activate(z0)))
isNePal(n____(z0, n____(z1, z0))) → U71(isQid(activate(z0)), activate(z1))
isPal(z0) → U81(isNePal(activate(z0)))
isPal(n__nil) → tt
(8) Obligation:
Complexity Dependency Tuples Problem
Rules:
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
nil → n__nil
__(z0, z1) → n____(z0, z1)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
U11(tt) → tt
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U31(tt) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
S tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
K tuples:none
Defined Rule Symbols:
isList, activate, nil, __, a, e, i, o, u, U11, isNeList, U31, isQid, U41, U21, U22, U42, U51, U52
Defined Pair Symbols:
ISLIST, ISNELIST, U21', U41', U51', U71', ISNEPAL, ISPAL, ACTIVATE
Compound Symbols:
c18, c20, c21, c5, c8, c10, c13, c16, c19, c22, c23, c24, c38
(9) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
ISNEPAL(z0) → c22(ACTIVATE(z0))
We considered the (Usable) Rules:none
And the Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(ACTIVATE(x1)) = 0
POL(ISLIST(x1)) = 0
POL(ISNELIST(x1)) = 0
POL(ISNEPAL(x1)) = [2]
POL(ISPAL(x1)) = [2]
POL(U11(x1)) = 0
POL(U21(x1, x2)) = 0
POL(U21'(x1, x2)) = 0
POL(U22(x1)) = 0
POL(U31(x1)) = [2]x1
POL(U41(x1, x2)) = [2]x1 + [2]x2
POL(U41'(x1, x2)) = 0
POL(U42(x1)) = [2]
POL(U51(x1, x2)) = x1
POL(U51'(x1, x2)) = 0
POL(U52(x1)) = x1
POL(U71'(x1, x2)) = [2]
POL(__(x1, x2)) = 0
POL(a) = 0
POL(activate(x1)) = 0
POL(c10(x1, x2)) = x1 + x2
POL(c13(x1, x2)) = x1 + x2
POL(c16(x1, x2)) = x1 + x2
POL(c18(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c19(x1)) = x1
POL(c20(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c21(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c22(x1)) = x1
POL(c23(x1, x2, x3)) = x1 + x2 + x3
POL(c24(x1, x2)) = x1 + x2
POL(c38(x1, x2)) = x1 + x2
POL(c5(x1, x2)) = x1 + x2
POL(c8(x1, x2)) = x1 + x2
POL(e) = 0
POL(i) = 0
POL(isList(x1)) = 0
POL(isNeList(x1)) = 0
POL(isQid(x1)) = 0
POL(n____(x1, x2)) = 0
POL(n__a) = 0
POL(n__e) = 0
POL(n__i) = 0
POL(n__nil) = 0
POL(n__o) = 0
POL(n__u) = 0
POL(nil) = 0
POL(o) = 0
POL(tt) = [2]
POL(u) = 0
(10) Obligation:
Complexity Dependency Tuples Problem
Rules:
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
nil → n__nil
__(z0, z1) → n____(z0, z1)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
U11(tt) → tt
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U31(tt) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
S tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
K tuples:
ISNEPAL(z0) → c22(ACTIVATE(z0))
Defined Rule Symbols:
isList, activate, nil, __, a, e, i, o, u, U11, isNeList, U31, isQid, U41, U21, U22, U42, U51, U52
Defined Pair Symbols:
ISLIST, ISNELIST, U21', U41', U51', U71', ISNEPAL, ISPAL, ACTIVATE
Compound Symbols:
c18, c20, c21, c5, c8, c10, c13, c16, c19, c22, c23, c24, c38
(11) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
We considered the (Usable) Rules:
isQid(n__a) → tt
activate(n__u) → u
activate(n__i) → i
isQid(n__e) → tt
activate(z0) → z0
i → n__i
nil → n__nil
isQid(n__o) → tt
u → n__u
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
isQid(n__u) → tt
isQid(n__i) → tt
o → n__o
activate(n__nil) → nil
__(z0, z1) → n____(z0, z1)
activate(n__e) → e
e → n__e
activate(n__o) → o
activate(n__a) → a
a → n__a
And the Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(ACTIVATE(x1)) = 0
POL(ISLIST(x1)) = 0
POL(ISNELIST(x1)) = 0
POL(ISNEPAL(x1)) = x1
POL(ISPAL(x1)) = [1] + x1
POL(U11(x1)) = 0
POL(U21(x1, x2)) = 0
POL(U21'(x1, x2)) = 0
POL(U22(x1)) = 0
POL(U31(x1)) = 0
POL(U41(x1, x2)) = 0
POL(U41'(x1, x2)) = 0
POL(U42(x1)) = 0
POL(U51(x1, x2)) = 0
POL(U51'(x1, x2)) = 0
POL(U52(x1)) = 0
POL(U71'(x1, x2)) = x1 + x2
POL(__(x1, x2)) = x1 + x2
POL(a) = [1]
POL(activate(x1)) = x1
POL(c10(x1, x2)) = x1 + x2
POL(c13(x1, x2)) = x1 + x2
POL(c16(x1, x2)) = x1 + x2
POL(c18(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c19(x1)) = x1
POL(c20(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c21(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c22(x1)) = x1
POL(c23(x1, x2, x3)) = x1 + x2 + x3
POL(c24(x1, x2)) = x1 + x2
POL(c38(x1, x2)) = x1 + x2
POL(c5(x1, x2)) = x1 + x2
POL(c8(x1, x2)) = x1 + x2
POL(e) = [1]
POL(i) = [1]
POL(isList(x1)) = 0
POL(isNeList(x1)) = 0
POL(isQid(x1)) = x1
POL(n____(x1, x2)) = x1 + x2
POL(n__a) = [1]
POL(n__e) = [1]
POL(n__i) = [1]
POL(n__nil) = 0
POL(n__o) = [1]
POL(n__u) = [1]
POL(nil) = 0
POL(o) = [1]
POL(tt) = [1]
POL(u) = [1]
(12) Obligation:
Complexity Dependency Tuples Problem
Rules:
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
nil → n__nil
__(z0, z1) → n____(z0, z1)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
U11(tt) → tt
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U31(tt) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
S tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
K tuples:
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
Defined Rule Symbols:
isList, activate, nil, __, a, e, i, o, u, U11, isNeList, U31, isQid, U41, U21, U22, U42, U51, U52
Defined Pair Symbols:
ISLIST, ISNELIST, U21', U41', U51', U71', ISNEPAL, ISPAL, ACTIVATE
Compound Symbols:
c18, c20, c21, c5, c8, c10, c13, c16, c19, c22, c23, c24, c38
(13) CdtKnowledgeProof (BOTH BOUNDS(ID, ID) transformation)
The following tuples could be moved from S to K by knowledge propagation:
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
(14) Obligation:
Complexity Dependency Tuples Problem
Rules:
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
nil → n__nil
__(z0, z1) → n____(z0, z1)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
U11(tt) → tt
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U31(tt) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
S tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
K tuples:
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
Defined Rule Symbols:
isList, activate, nil, __, a, e, i, o, u, U11, isNeList, U31, isQid, U41, U21, U22, U42, U51, U52
Defined Pair Symbols:
ISLIST, ISNELIST, U21', U41', U51', U71', ISNEPAL, ISPAL, ACTIVATE
Compound Symbols:
c18, c20, c21, c5, c8, c10, c13, c16, c19, c22, c23, c24, c38
(15) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
We considered the (Usable) Rules:
activate(n__u) → u
activate(n__i) → i
activate(z0) → z0
i → n__i
nil → n__nil
u → n__u
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
o → n__o
activate(n__nil) → nil
__(z0, z1) → n____(z0, z1)
activate(n__e) → e
e → n__e
activate(n__o) → o
activate(n__a) → a
a → n__a
And the Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(ACTIVATE(x1)) = 0
POL(ISLIST(x1)) = x1
POL(ISNELIST(x1)) = x1
POL(ISNEPAL(x1)) = 0
POL(ISPAL(x1)) = 0
POL(U11(x1)) = 0
POL(U21(x1, x2)) = 0
POL(U21'(x1, x2)) = x2
POL(U22(x1)) = 0
POL(U31(x1)) = 0
POL(U41(x1, x2)) = 0
POL(U41'(x1, x2)) = [1] + x2
POL(U42(x1)) = 0
POL(U51(x1, x2)) = 0
POL(U51'(x1, x2)) = x2
POL(U52(x1)) = 0
POL(U71'(x1, x2)) = 0
POL(__(x1, x2)) = [1] + x1 + x2
POL(a) = 0
POL(activate(x1)) = x1
POL(c10(x1, x2)) = x1 + x2
POL(c13(x1, x2)) = x1 + x2
POL(c16(x1, x2)) = x1 + x2
POL(c18(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c19(x1)) = x1
POL(c20(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c21(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c22(x1)) = x1
POL(c23(x1, x2, x3)) = x1 + x2 + x3
POL(c24(x1, x2)) = x1 + x2
POL(c38(x1, x2)) = x1 + x2
POL(c5(x1, x2)) = x1 + x2
POL(c8(x1, x2)) = x1 + x2
POL(e) = [1]
POL(i) = 0
POL(isList(x1)) = 0
POL(isNeList(x1)) = 0
POL(isQid(x1)) = 0
POL(n____(x1, x2)) = [1] + x1 + x2
POL(n__a) = 0
POL(n__e) = [1]
POL(n__i) = 0
POL(n__nil) = 0
POL(n__o) = 0
POL(n__u) = 0
POL(nil) = 0
POL(o) = 0
POL(tt) = 0
POL(u) = 0
(16) Obligation:
Complexity Dependency Tuples Problem
Rules:
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
nil → n__nil
__(z0, z1) → n____(z0, z1)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
U11(tt) → tt
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U31(tt) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
S tuples:
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
K tuples:
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
Defined Rule Symbols:
isList, activate, nil, __, a, e, i, o, u, U11, isNeList, U31, isQid, U41, U21, U22, U42, U51, U52
Defined Pair Symbols:
ISLIST, ISNELIST, U21', U41', U51', U71', ISNEPAL, ISPAL, ACTIVATE
Compound Symbols:
c18, c20, c21, c5, c8, c10, c13, c16, c19, c22, c23, c24, c38
(17) CdtKnowledgeProof (BOTH BOUNDS(ID, ID) transformation)
The following tuples could be moved from S to K by knowledge propagation:
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
(18) Obligation:
Complexity Dependency Tuples Problem
Rules:
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
nil → n__nil
__(z0, z1) → n____(z0, z1)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
U11(tt) → tt
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U31(tt) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
S tuples:
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
K tuples:
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
Defined Rule Symbols:
isList, activate, nil, __, a, e, i, o, u, U11, isNeList, U31, isQid, U41, U21, U22, U42, U51, U52
Defined Pair Symbols:
ISLIST, ISNELIST, U21', U41', U51', U71', ISNEPAL, ISPAL, ACTIVATE
Compound Symbols:
c18, c20, c21, c5, c8, c10, c13, c16, c19, c22, c23, c24, c38
(19) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
We considered the (Usable) Rules:
activate(n__u) → u
activate(n__i) → i
activate(z0) → z0
i → n__i
nil → n__nil
u → n__u
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
o → n__o
activate(n__nil) → nil
__(z0, z1) → n____(z0, z1)
activate(n__e) → e
e → n__e
activate(n__o) → o
activate(n__a) → a
a → n__a
And the Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(ACTIVATE(x1)) = 0
POL(ISLIST(x1)) = x1
POL(ISNELIST(x1)) = x1
POL(ISNEPAL(x1)) = 0
POL(ISPAL(x1)) = 0
POL(U11(x1)) = 0
POL(U21(x1, x2)) = 0
POL(U21'(x1, x2)) = [1] + x2
POL(U22(x1)) = 0
POL(U31(x1)) = 0
POL(U41(x1, x2)) = 0
POL(U41'(x1, x2)) = x2
POL(U42(x1)) = 0
POL(U51(x1, x2)) = 0
POL(U51'(x1, x2)) = x2
POL(U52(x1)) = 0
POL(U71'(x1, x2)) = 0
POL(__(x1, x2)) = [1] + x1 + x2
POL(a) = 0
POL(activate(x1)) = x1
POL(c10(x1, x2)) = x1 + x2
POL(c13(x1, x2)) = x1 + x2
POL(c16(x1, x2)) = x1 + x2
POL(c18(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c19(x1)) = x1
POL(c20(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c21(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c22(x1)) = x1
POL(c23(x1, x2, x3)) = x1 + x2 + x3
POL(c24(x1, x2)) = x1 + x2
POL(c38(x1, x2)) = x1 + x2
POL(c5(x1, x2)) = x1 + x2
POL(c8(x1, x2)) = x1 + x2
POL(e) = 0
POL(i) = 0
POL(isList(x1)) = 0
POL(isNeList(x1)) = 0
POL(isQid(x1)) = 0
POL(n____(x1, x2)) = [1] + x1 + x2
POL(n__a) = 0
POL(n__e) = 0
POL(n__i) = 0
POL(n__nil) = [1]
POL(n__o) = 0
POL(n__u) = [1]
POL(nil) = [1]
POL(o) = 0
POL(tt) = 0
POL(u) = [1]
(20) Obligation:
Complexity Dependency Tuples Problem
Rules:
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
nil → n__nil
__(z0, z1) → n____(z0, z1)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
U11(tt) → tt
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U31(tt) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
S tuples:
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
K tuples:
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
Defined Rule Symbols:
isList, activate, nil, __, a, e, i, o, u, U11, isNeList, U31, isQid, U41, U21, U22, U42, U51, U52
Defined Pair Symbols:
ISLIST, ISNELIST, U21', U41', U51', U71', ISNEPAL, ISPAL, ACTIVATE
Compound Symbols:
c18, c20, c21, c5, c8, c10, c13, c16, c19, c22, c23, c24, c38
(21) CdtKnowledgeProof (BOTH BOUNDS(ID, ID) transformation)
The following tuples could be moved from S to K by knowledge propagation:
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(z0) → c19(ACTIVATE(z0))
(22) Obligation:
Complexity Dependency Tuples Problem
Rules:
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
nil → n__nil
__(z0, z1) → n____(z0, z1)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
U11(tt) → tt
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U31(tt) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
S tuples:
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
K tuples:
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
Defined Rule Symbols:
isList, activate, nil, __, a, e, i, o, u, U11, isNeList, U31, isQid, U41, U21, U22, U42, U51, U52
Defined Pair Symbols:
ISLIST, ISNELIST, U21', U41', U51', U71', ISNEPAL, ISPAL, ACTIVATE
Compound Symbols:
c18, c20, c21, c5, c8, c10, c13, c16, c19, c22, c23, c24, c38
(23) CdtRuleRemovalProof (UPPER BOUND(ADD(n^2)) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
We considered the (Usable) Rules:
U42(tt) → tt
activate(n__u) → u
activate(n__i) → i
isQid(n__e) → tt
U21(tt, z0) → U22(isList(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(z0) → U31(isQid(activate(z0)))
U11(tt) → tt
nil → n__nil
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
isQid(n__o) → tt
isQid(n__i) → tt
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
o → n__o
U41(tt, z0) → U42(isNeList(activate(z0)))
activate(n__nil) → nil
U52(tt) → tt
__(z0, z1) → n____(z0, z1)
isList(n__nil) → tt
e → n__e
U31(tt) → tt
a → n__a
U22(tt) → tt
isQid(n__a) → tt
isList(z0) → U11(isNeList(activate(z0)))
activate(z0) → z0
i → n__i
u → n__u
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
isQid(n__u) → tt
U51(tt, z0) → U52(isList(activate(z0)))
activate(n__e) → e
activate(n__o) → o
activate(n__a) → a
And the Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(ACTIVATE(x1)) = x1
POL(ISLIST(x1)) = [2]x1 + [2]x12
POL(ISNELIST(x1)) = x1 + [2]x12
POL(ISNEPAL(x1)) = [1] + x1 + [2]x12
POL(ISPAL(x1)) = [2] + [2]x1 + [2]x12
POL(U11(x1)) = [2]x1
POL(U21(x1, x2)) = x1 + [2]x2
POL(U21'(x1, x2)) = [2]x2 + [2]x22 + x1·x2
POL(U22(x1)) = x1
POL(U31(x1)) = x1
POL(U41(x1, x2)) = [1] + x2
POL(U41'(x1, x2)) = [2]x22 + x1·x2
POL(U42(x1)) = x1
POL(U51(x1, x2)) = x1 + x2
POL(U51'(x1, x2)) = [1] + x2 + [2]x22 + x1·x2
POL(U52(x1)) = [2]
POL(U71'(x1, x2)) = x1 + [2]x2 + [2]x22 + x1·x2 + [2]x12
POL(__(x1, x2)) = [1] + x1 + x2
POL(a) = [2]
POL(activate(x1)) = x1
POL(c10(x1, x2)) = x1 + x2
POL(c13(x1, x2)) = x1 + x2
POL(c16(x1, x2)) = x1 + x2
POL(c18(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c19(x1)) = x1
POL(c20(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c21(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(c22(x1)) = x1
POL(c23(x1, x2, x3)) = x1 + x2 + x3
POL(c24(x1, x2)) = x1 + x2
POL(c38(x1, x2)) = x1 + x2
POL(c5(x1, x2)) = x1 + x2
POL(c8(x1, x2)) = x1 + x2
POL(e) = [2]
POL(i) = [2]
POL(isList(x1)) = [2]x1
POL(isNeList(x1)) = x1
POL(isQid(x1)) = x1
POL(n____(x1, x2)) = [1] + x1 + x2
POL(n__a) = [2]
POL(n__e) = [2]
POL(n__i) = [2]
POL(n__nil) = [1]
POL(n__o) = [2]
POL(n__u) = [2]
POL(nil) = [1]
POL(o) = [2]
POL(tt) = [2]
POL(u) = [2]
(24) Obligation:
Complexity Dependency Tuples Problem
Rules:
isList(z0) → U11(isNeList(activate(z0)))
isList(n__nil) → tt
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
activate(n__nil) → nil
activate(n____(z0, z1)) → __(activate(z0), activate(z1))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(z0) → z0
nil → n__nil
__(z0, z1) → n____(z0, z1)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
U11(tt) → tt
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U31(tt) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
U41(tt, z0) → U42(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U22(tt) → tt
U42(tt) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
Tuples:
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
S tuples:none
K tuples:
ISNEPAL(z0) → c22(ACTIVATE(z0))
ISPAL(z0) → c24(ISNEPAL(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, n____(z1, z0))) → c23(U71'(isQid(activate(z0)), activate(z1)), ACTIVATE(z0), ACTIVATE(z1))
U71'(tt, z0) → c13(ISPAL(activate(z0)), ACTIVATE(z0))
ISLIST(n____(z0, z1)) → c18(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c21(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U41'(tt, z0) → c8(ISNELIST(activate(z0)), ACTIVATE(z0))
U21'(tt, z0) → c5(ISLIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c10(ISLIST(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c20(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISLIST(z0) → c16(ISNELIST(activate(z0)), ACTIVATE(z0))
ISNELIST(z0) → c19(ACTIVATE(z0))
ACTIVATE(n____(z0, z1)) → c38(ACTIVATE(z0), ACTIVATE(z1))
Defined Rule Symbols:
isList, activate, nil, __, a, e, i, o, u, U11, isNeList, U31, isQid, U41, U21, U22, U42, U51, U52
Defined Pair Symbols:
ISLIST, ISNELIST, U21', U41', U51', U71', ISNEPAL, ISPAL, ACTIVATE
Compound Symbols:
c18, c20, c21, c5, c8, c10, c13, c16, c19, c22, c23, c24, c38
(25) SIsEmptyProof (BOTH BOUNDS(ID, ID) transformation)
The set S is empty
(26) BOUNDS(1, 1)